import { isPlainObject } from "./util";

// 请求数据序列化（发送前处理）
export function transformRequest(data: any): any {
  if (isPlainObject(data)) {
    return JSON.stringify(data)  // 例如 {a:1, b:2} → '{"a":1,"b":2}'
  }
  return data // 如 ArrayBuffer、Int32Array 等二进制数据直接返回
}

// 响应数据反序列化（接收后处理）
export function transformResponse(data: any): any {
  if (typeof data === 'string') { // 尝试解析为 JS 对象（如 '{"a":1}' → { a: 1 }）
    try {
      data = JSON.parse(data)
    } catch (e) {
      // do nothing       // 解析失败（如响应是纯文本 "hello"），不做处理，返回原始字符串
    }
  }
  return data
}
